home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 37
/
Mac Magazin and MacEasy Magazine CD - Issue 37.iso
/
Magazin
/
surfware
/
Software
/
Small Screen 1.3
/
about Small Screen
next >
Wrap
Text File
|
1996-12-04
|
9KB
|
173 lines
Small Screen 1.3 — December 4, 1996
••• What does it do? •••
On a sufficiently large screen, Small Screen shows the boundaries of one or
more smaller screens. It is useful for testing whether something would fit
on a small screen. Each screen boundary is represented by a transparent
window with rounded corners, drawn in one of eight colors. Optionally, a
hard disk and a trash can icon are drawn at the appropriate positions (i.e.
where the real icons would appear on a freshly installed System 7). Under
System 7.1 or later, the boundaries can be made to float on top of other
windows even while the program runs in the background (the icons will not
float, in order to mimic real icons that stick on the desktop).
Small Screen is not an extension but an ordinary application. It does no
operating system tricks, it just shows its (special) windows. Since it
occupies only a small memory partition (45 K), it can usually be left running
all the time. Of course, this makes sense only under MultiFinder or System 7.
Small Screen is not the only tool for testing the effect of smaller screens.
Multisync monitors allow to simply *switch* to a smaller screen, while
tools like MiniScreen by Morgan Davis interact with the operating system to
*simulate* a smaller screen. In both cases, switching screen sizes tends to
mess up the desktop and can even require restarting the computer. In
contrast, Small Screen just *shows the boundary* of a smaller screen, or
even several boundaries at once, while the full screen remains available.
This is sufficient for many purposes, and much more comfortable — just
make it a startup application and forget it, it will be ready whenever you
need it.
••• Selecting screens •••
Nine screens of different size are available in the Screen menu. These sizes
cover most monitors commonly used. The Screen menu also allows to
specify whether a hard disk and a trash can icon should be shown with each
screen, whether the screens boundaries should float on top of other
windows, and to select one of eight colors for drawing the screens.
If you need other screen sizes, you can modify the Screen menu using a tool
like ResEdit. These are the rules:
• In MENU #131, from item 5 onward, you can modify, add or remove size
items as you wish. Those items that carry a check mark define the screens
the program shows by default (i.e. when it finds no preferences file).
• For each enabled screen item in MENU #131, there must be a WIND
resource that describes the corresponding screen (item 5 corresponds to
WIND resource #5 etc.). The screen boundary is taken from the window
rectangle defined in the WIND resource, its other values are irrelevant.
If you have customized version 1.0 of Small Screen and want to carry your
changes over to this version, you should note the slight changes I made:
Starting from version 1.1, the window rectangle no longer has to exceed the
screen boundary by one pixel, and the defaults are now defined in the MENU
rather than in the WIND.
Please don't redistribute modified versions of Small Screen.
••• Small Screen Thinks For You •••
Apart from responding to user interaction, the program does some
processing on its own, namely for two reasons:
• A screen saver usually wants to own the whole screen and doesn't like any
windows floating on top of it. Therefore, Small Screen hides all its screen
boundaries whenever it recognizes a screen saver. This only works for
screen savers that register themselves using the "Gestalt" mechanism like
After Dark (by Berkeley Systems) does. It would make sense to behave
similarly when a game wants to own the whole screen, but since I see no
safe way to recognize such a game the program doesn't try to.
• Whenever you switch to a different monitor resolution on a multisync
monitor, the system possibly moves some of the windows to make them
fit into the new desktop boundary. This is of course against Small Screen's
purpose, therefore the program watches its windows for any unexpected
moves and undoes these.
••• Help, There's the WDEF Virus! •••
Small Screen contains a WDEF resource #128. This is an essential part of
the program: It is the "Window Definition Function" that defines the trans-
parent windows with rounded corners. It should not be confounded with the
WDEF virus, a quite popular Macintosh virus that also lives in a WDEF re-
source. If you are anxious, use a virus checker to check your copy of Small
Screen. Disinfectant 1.5 or later recognizes the two known strains of the
WDEF virus.
••• Problems •••
Small Screen has been tested on various Macs with various monitors
attached. The program is very simple and does nothing suspicious, except
for a careful patch to ExitToShell to ensure cleanup even when it is
terminated anormally (floating windows seem to require this). Therefore I
am pretty confident that it would run on any Mac and under any System
version. It won't generate a settings file if HFS is not available, but this
affects only very ancient Macs.
There is one problem for which I don't feel responsible. It is only relevant to
users of System 6 and affects not only Small Screen, but any program that
runs in a small partition under MultiFinder: Be careful not to activate Small
Screen while transferring a large clipboard — the clipboard contents gets
lost if it doesn't fit in Small Screen's partition. This problem seems to be
solved in System 7 and later.
••• Version History •••
Version 1.0 (October 24, 1990)
• First release.
Version 1.1 (September 22, 1992)
• Added the capability to draw hard disk and trash can icons.
• Corrected a System 7 incompatibility: Version 1.0 causes an error type 1
when Finder’s Hide and Show commands are used. (For all you techies:
Never ignore update events, even if there is nothing to update! BeginUpdate
and EndUpdate must be called just to reset the event.) Thanks to Jeffrey T.
Krauss <jtkrauss@phoenix.Princeton.EDU> for reporting this error.
• Corrected another System 7 incompatibility: Version 1.0 doesn't notice
when the cursor shape changes behind its back, e.g. when an alias to the
program is double-clicked while the program is running.
• Reduced memory usage and reduced partition size to 30 K.
• Reduced CPU usage by using the more efficient event handling mechanism
introduced with MultiFinder (WaitNextEvent), if available.
• Added Help Balloons.
• Cosmetic enhancements here and there.
Version 1.2 (February 11, 1993)
• Added the capability to draw in one of eight colors.
Version 1.3 (December 4, 1996)
• Merged the "Show Disk Icon" and "Show Trash Icon" items in the Screen
menu into a single "Show Icons" item.
• Corrected a System 7.5 incompatibility: In Version 1.2, the help balloons
for the menu titles didn't appear. (In technical terms: Menu bar balloons
refuse to appear whenever the cursor is inside the portRect of the
frontmost window.)
• Corrected a System 6 incompatibility: In Version 1.2, MultiFinder refused
to switch to other applications whenever "Show Disk Icon" was checked
and "Show Trash Icon" was not checked. (In technical terms: Switching is
disabled whenever the frontmost window has variation code 1.)
• The program now saves the settings in a preferences file. (Finally!)
• Added the capability to make the screen boundaries float on top of other
windows. Thanks to Matt Slott <fprefect@umich.edu> for his "appe
windows" library which inspired me and helped avoid unnecessary errors.
(For techies: This change includes a head patch to ExitToShell.)
• Added the capability to hide all screen boundaries whenever a screen
saver is recognized.
• Added the capability to undo any unexpected moves done to the screen
boundaries, e.g. by switching resolutions on a multisync monitor.
• Fixed a silly hidden bug and made lots of cosmetic enhancements.
• Increased the partition size to 45 K (more features require more space…).
••• KindWare™ — a gift to the whole of MacKind™ •••
Small Screen is © 1990-1996 by Daniel Schaerer. It may be freely distri-
buted, but always in its unmodified form and together with this document.
It must not be sold for profit, nor included in any product sold for profit,
without my explicit permission. Enjoy, share, and be kind™ to one another.
Comments, wishes and suggestions welcome. THINK Pascal source code
available on request.
Daniel Schaerer
Brunngasse 6
CH-8001 Zürich
Switzerland
schaerer@ifi.unizh.ch